﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using DDW;
using UIDesigner.FieldHandlers;
using System.Drawing;
using System.Windows.Forms;
using UIDesigner.FieldHandlers.Bases;

namespace UIDesigner.ControlProviders.Bases
{
    public interface IControlProvider
    {
        bool SupportsOption(string strOption);
        void NegotiateLayout(string strOption, IComponent ctrlParent, BaseNode objBase, LayoutMode eLayoutMode, ref int nTabIndex, out LayoutStyle eLayoutStyle, out int nLabelAlignment, out Size szControlSize);
        void AddBindings(Control ctrlBinding, BaseNode objBase, string strBindingSourceProperty);
        Control AddControls(string strOption, IComponent ctrlParent, BaseNode objBase, bool bDefault, bool bPreview, int nTabIndex, List<Rectangle> rgLocationRects, List<char> rgMnemonics);
        Control AddControls(string strOption, TableLayoutPanel ctrlParent, BaseNode objBase, bool bDefault, bool bPreview, int nTabIndex, List<TableLayoutPanelCellPosition> rgTableLayoutPanelCellPositions, List<char> rgMnemonics);
    }
}
